#pragma once

#include "agentstate.h"
#include "KalmanTank.h"

#define EPSILON .5
#define PREDICT_STEP .015
class KalmanState :
	public AgentState
{
public:
	KalmanState();
	KalmanState(KalmanTank *enemy);
	~KalmanState(void);

	Command GetCommand(Agent* agent);

private:
	double normalizeAngle(double angle);

	//Vector2 calcShot(tank_t* tank);
	float calcShot(tank_t* tank);

	KalmanTank* GetClosestTank(Agent* agent);

	bool outOfRange;

	KalmanTank* enemy;
};

